package com.uye.framework.model;


/**
 * Decorates T to add additional behavior.
 * @param T The Target class to be decorated
 * @author uye
 */
public abstract class GenericDecorator<T> {

    /**
     * The decorated {@link IGenericDAO}.
     */
    private T decoratedObject;

    /**
     * Creates an instance of the Decorator.
     * 
     * @param decoratedObject
     *            The decorated object
     */
    public GenericDecorator(final T decoratedObject) {
        this.decoratedObject = decoratedObject;
    }

    /**
     * Returns the object wrapped by the decorator.
     * 
     * @return The decorated object.
     */
    public final T getDecoratedObject() {
        return decoratedObject;
    }
}
